1. Field:
The invention disclosed and claimed herein generally pertains to use of a computer program code debugger, or debugging tool, by a program developer or other user in an environment that may include an Integrated Development Environment (IDE). More particularly, the invention pertains to setting breakpoints for debugging program code that can display or present a graphical user interface (GUI) widget, or other graphical objects, to the program developer or other user.
2. Description of the Related Art
As is known by those of skill in the art, a code debugger is a tool used by software developers that allows them to get further insight into a program they are writing, such as to determine why the program is crashing at a particular instruction, or what the values of the variables of a program are at a particular point in time. Debuggers execute the program being developed under a special runtime environment that allows the debugging tool to manipulate the code flow in a way that may aid the developer. For instance, the user may request the debugger to execute the program being developed up to a certain instruction, and to then stop and allow the developer to see the values of certain variables, or to even modify the values of some variables, before allowing the program to continue. The developer may also desire to execute the program line by line, so he or she can closely monitor program behavior.
A very important capability of debuggers is that of setting a “breakpoint.” A breakpoint is a marker in the program code that tells the debugger to pause execution at a particular place or location of the program, at which the developer may inspect variables, initiate step-by-step execution, or take other actions. Breakpoints, by way of example, can be set at the beginning of a particular method, at a specific line of a particular source file, or when a particular exception is thrown. In many of these cases, the developer needs to first identify the source file where the breakpoint must be set, and then instruct the debugger to set a breakpoint at the desired place. Since most debuggers are integrated within a graphical IDE, this is usually done by clicking on a particular line of code and then selecting an option to set a breakpoint there. Examples of commercial and non-commercial IDEs that allow setting breakpoints in code during debugging are known by those of skill in the art.
When debugging a program that presents a GUI object to a user, for example, a program being developed that shows a screen to a user which displays one or more graphical widgets, the developer may want to set a breakpoint in connection with certain user interactions with the displayed widgets. By way of example, such interactions could include clicking on a button, selecting a particular option in a drop-down list, or writing some text in a text box. In the current state of the art, this implies that the developer must figure out what source file contains the code that implements the behavior of the particular button, drop-down list or text box, so that he or she may then set a breakpoint in the appropriate line of code by using the integrated debugger. However, depending on the developer's expertise and familiarity with the graphical aspects of the program being developed, this may not be a trivial endeavor. Another situation that may arise is that the developer does not have access to the source code that calls up the GUI widget, so setting a breakpoint using the source code may not even be possible